﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Rendiciones.Logica.Enumeradores;
using Rendiciones.Logica.Modelos;
using Rendiciones.Logica.Servicios;
using Rendiciones.Web.infraestructura;

namespace Rendiciones.Web.Tesoreria
{
    public partial class ctrlVerGasto : UserControlBase
    {
        private static ServGastos _servGastos;
        protected void Page_Load(object sender, EventArgs e)
        {
            _servGastos = new ServGastos();
            DrTipoGasto.DataTextField = "DescripcionGasto";
            DrTipoGasto.DataValueField = "IdGasto";

            DrGastoAsociado.DataTextField = "DescripcionGasto";
            DrGastoAsociado.DataValueField = "IdGasto";

            ddTipoDocumento.DataTextField = "Descripcion";
            ddTipoDocumento.DataValueField = "IdDocumento";
            if (!IsPostBack)
            {
                CargarCombos();
            }
        }

        public void CargarCombos()
        {
            DrTipoGasto.DataSource = _servGastos.TodosLosTiposDeGasto();
            DrTipoGasto.DataBind();

            DrGastoAsociado.DataSource = _servGastos.TodosLosGastosAsociados();
            DrGastoAsociado.DataBind();

            ddTipoDocumento.DataSource = Modulos.Rendiciones.Documentos.Buscar();
            ddTipoDocumento.DataBind();
        }

        public void Cerrar()
        {
            mpeAgregarGasto.Hide();
        }

        public string NroGasto { get { return lbl_NRO_RENDICION.Text; } set { lbl_NRO_RENDICION.Text = value; } }

        protected void BtnAceptar_Click(object sender, EventArgs e)
        {
            Cerrar();
        }

        public void CargaDatosAPopup(Gasto gasto)
        {
            DrTipoGasto.SelectedValue = gasto.TipoGasto.IdGasto.ToString();
            DrGastoAsociado.SelectedValue = gasto.GastoAsociado.ToString();
            ddTipoDocumento.SelectedValue = gasto.TipoDocumento.IdDocumento.ToString();
            TxtRutProveedor.Text = gasto.RutBeneficiario;
            lblNombreBeneficiario.Text = gasto.NombreBeneficiario;
            txtFechaDocumento2.Text = gasto.FechaDocumento.HasValue ? gasto.FechaDocumento.Value.ToString("dd-MM-yyyy") : "";
            TxtNroDocumento.Text = gasto.NroDocumento.ToString();
            TxtDescripcion.Text = gasto.Descripcion;
            TxtMontoNeto.Text = gasto.MontoNeto.ToString();
            TxtIVA.Text = gasto.Iva.ToString();
            TxtRetencion.Text = gasto.Retencion.ToString();
            TxtTotalPago.Text = gasto.TotalPagado.ToString();
            txtMontoExento.Text = gasto.MontoExento.ToString();
            rbtTipoDocumento.SelectedValue = ((int)gasto.TipoDocumentoGenerico).ToString();
            mpeAgregarGasto.Show();
        }

        public ETipoDocumentoGenerico TipoDocumentoGenerico
        {
            get
            {
                var tipoDoc = new ETipoDocumentoGenerico();
                if (rbtTipoDocumento.SelectedValue == "1")
                    tipoDoc = ETipoDocumentoGenerico.Boleta;
                if (rbtTipoDocumento.SelectedValue == "2")
                    tipoDoc = ETipoDocumentoGenerico.Factura;
                if (rbtTipoDocumento.SelectedValue == "3")
                    tipoDoc = ETipoDocumentoGenerico.BoletaHonorarios;
                return tipoDoc;
            }
            set
            {
                if (value == ETipoDocumentoGenerico.Boleta)
                    rbtTipoDocumento.SelectedValue = "1";
                if (value == ETipoDocumentoGenerico.Factura)
                    rbtTipoDocumento.SelectedValue = "2";
                if (value == ETipoDocumentoGenerico.BoletaHonorarios)
                    rbtTipoDocumento.SelectedValue = "3";
            }
        }
       
    }
}